package com.luckyframe.project.jmeter.jmeterNode.mapper;

import com.luckyframe.project.jmeter.jmeterNode.domain.JmeterNode;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 性能测试分布式节点 数据层
 * 
 * @author luckyframe
 * @date 2020-09-11
 */
public interface JmeterNodeMapper 
{
	/**
     * 查询性能测试分布式节点信息
     * 
     * @param id 性能测试分布式节点ID 主键ID
     * @return 性能测试分布式节点信息
     */
	public JmeterNode selectJmeterNodeById(Long id);
	
	/**
     * 查询性能测试分布式节点列表
     * 
     * @param jmeterNode 性能测试分布式节点信息 基本信息
     * @return 性能测试分布式节点集合
     */
	public List<JmeterNode> selectJmeterNodeList(JmeterNode jmeterNode);
	
	/**
     * 新增性能测试分布式节点
     * 
     * @param jmeterNode 性能测试分布式节点信息 基本信息
     * @return 结果
     */
	public int insertJmeterNode(JmeterNode jmeterNode);
	
	/**
     * 修改性能测试分布式节点
     * 
     * @param jmeterNode 性能测试分布式节点信息 基本信息
     * @return 结果
     */
	public int updateJmeterNode(JmeterNode jmeterNode);
	
	/**
     * 删除性能测试分布式节点
     * 
     * @param id 性能测试分布式节点ID 主键ID
     * @return 结果
     */
	public int deleteJmeterNodeById(Long id);
	
	/**
     * 批量删除性能测试分布式节点
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteJmeterNodeByIds(String[] ids);

	JmeterNode selectJmeterByClientIp(String hostName);

	JmeterNode selectJmeterByMacAddr(@Param("macAddr") String macAddr);

    List<JmeterNode> selectByIdList(@Param("array") List<Long> nodeIdList);
}